package com.ruoyi.admin.service;

import cn.hutool.core.lang.tree.Tree;
import com.ruoyi.admin.domain.LlmDatasets;

import java.util.List;

public interface ILlmDatasetsService {

    /**
     * 创建初级知识库
     *
     * @param datasets 数据集
     * @return 创建结果 true:创建成功 false:创建失败
     */
    boolean creatDataset(LlmDatasets datasets);


    /**
     * 获取数据集列表
     *
     * @param datasetName  数据集名称
     * @param categoryCode 数据集分类
     * @return 数据集列表
     */
    List<LlmDatasets> getDatasets(String datasetName, String categoryCode,String keywords);


    /**
     * 更新数据集
     *
     * @param datasets 数据集
     * @return 是否成功
     */
    boolean updateDataset(LlmDatasets datasets);


    /**
     * 删除知识库
     *
     * @param id 知识库id
     * @return boolean
     * @throws InterruptedException 异常
     */
    boolean deleteDataset(String id) throws InterruptedException;

    /**
     * 通过id 获取树形结构
     *
     * @param id 父id
     * @return 树形结构
     */
    Tree<String> getDatasetTreeById(String id);

    /**
     * 通过id 获取详细信息
     *
     * @param id 知识库id
     * @return 知识库对象
     */
    LlmDatasets getDatasetById(String id);
}
